/*
 * @Author: 涵崽
 * @Date: 2024-02-28 11:33:17
 * @email: 1045654@qq.com
 * @gitee: https://gitee.com/han-zai
 * @LastEditors: 涵崽
 * @LastEditTime: 2024-03-01 11:41:36
 * @Description: 微信：1045654
 */
import Vue from 'vue'

import 'normalize.css/normalize.css' // 清除浏览器css差异

import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'

import '@/styles/index.scss' // 全局样式

import App from './App'
import store from './store'
import router from './router'

import '@/icons' // icon
import '@/permission' // 权限控制

// 分页、按钮、日期选择器、对话框、压缩上传组件导入
import pagination from '@/components/H-element/Pagination/index.vue'
import button from '@/components/H-element/Button/index.vue'
import datepicker from '@/components/H-element/DatePicker/index.vue'
import dialog from '@/components/H-element/Dialog/index.vue'
import upload from '@/components/H-element/Upload/index.vue'
import Badge from "@/components/H-element/Badge/index.vue";
import UEditor from "@/components/H-element/UEditor/index.vue";
import sockets from "@/utils/websocket.js";

Vue.prototype.$sockets = sockets;
const Loading = {
  install: (Vue) => {
    // 分页、按钮、日期选择器、对话框、压缩上传组件
    Vue.component('HPagination', pagination)
    Vue.component('HButton', button)
    Vue.component('HDatepicker', datepicker)
    Vue.component('HDialog', dialog)
    Vue.component('HUpload', upload)
    Vue.component("HBadge", Badge);
    Vue.component("HUEditor", UEditor);
  }
}
Vue.use(Loading)

Vue.use(ElementUI)

Vue.config.productionTip = false

new Vue({
  el: '#app',
  router,
  store,
  render: (h) => h(App)
})
